package tk.djcrazy.MyCC98.adapter;
import java.util.List;
import org.apache.commons.lang3.StringEscapeUtils;
import tk.djcrazy.MyCC98.R;
import tk.djcrazy.libCC98.data.PmInfo;
import android.app.Activity;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
public class PmListViewAdapter extends BaseItemListAdapter<PmInfo> {
public PmListViewAdapter(Activity context, List<PmInfo> list) {
super(context, list);
}
public final class ListItemView {
public TextView senderName;
public TextView topic;
public TextView time;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ListItemView itemView = null;
if (convertView == null) {
itemView = new ListItemView();
convertView = inflater.inflate(R.layout.pm_item, null);
findViews(convertView, itemView);
convertView.setTag(itemView);
} else {
itemView = (ListItemView) convertView.getTag();
}
fillDataIntoView(position, itemView);
return convertView;
}
/**
* find views in the pm list item view
*
* @param convertView
* @param itemView
*/
private void findViews(View convertView, ListItemView itemView) {
itemView.senderName = (TextView) convertView
.findViewById(R.id.pm_sender_name);
itemView.topic = (TextView) convertView.findViewById(R.id.pm_topic);
itemView.time = (TextView) convertView.findViewById(R.id.pm_time);
}
/**
*
* @param position
* @param itemView
*/
private void fillDataIntoView(int position, ListItemView itemView) {
// fill data into itemView
itemView.senderName.setText(StringEscapeUtils.unescapeHtml4(items.get(
position).getSender()));
itemView.topic.setText(StringEscapeUtils.unescapeHtml4(items.get(
position).getTopic()));
itemView.time.setText(items.get(position).getSendTime());
if (items.get(position).isNew()) {
itemView.topic.setTextColor(context.getResources().getColorStateList(R.color.pm_title_unread));
} else {
itemView.topic.setTextColor(context.getResources().getColorStateList(R.color.post_text));
}
}
}